<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<%@ include file="../../common/jsp/sheetHeader.jsp" %>
<script>
	$(document).ready(function() {
		//sheet 초기화  
		createIBSheet2(document.getElementById("viewArea"),"mySheet","100%","400px");
		
		var cfg = {SearchMode:smLazyLoad,Page:30,FrozenCol:3};
		
		var headers = [ {Text:"NO|상태|삭제|문자열|콤보|콤보에디트|팝업|팝업에디트|자동합계|자동평균|정수|실수|날짜|패스워드|체크박스|라디오|이미지", Align:"Center"} ];
		var info = {Sort:1,ColMove:1,ColResize:1,HeaderCheck:0};
		var cols = [
			{Type:"Seq", Align:"Right"},
			{Type:"Status", Align:"Center"},
			{Type:"DelCheck"},
			{Type:"Text",SaveName:"Text",KeyField:1	},
			{Type:"Combo",SaveName:"Combo", Width:80, ComboText:"대기|진행중|완료", ComboCode:"01|02|03"},
			{Type:"ComboEdit", Width:80, ComboText:"고려대학교|국민대학교|서울대학교|서강대학교|서울산업대학교|서울시립대학교|상명대학교|숙명여자대학교|연세대학교|울산대학교|울산과학기술대학교|이화여자대학교|인천대학교|인천가톨릭대학교"},
			{Type:"Popup", Width:100},
			{Type:"PopupEdit", Width:100},
			{Type:"AutoSum", Align:"Right",Width:70,Format:"NullInteger"},
			{Type:"AutoAvg", Align:"Right",Width:70, Format:"NullFloat"},
			{Type:"Int", Align:"Right", Format:"NullInteger",Width:70},
			{Type:"Float", Align:"Right", Format:"NullFloat",Width:70},
			{Type:"Date", Align:"Center", Format:"Ymd", Width:100},
			{Type:"Pass"},
			{Type:"CheckBox"},
			{Type:"Radio"}
		];
		
		mySheet.SetConfig(cfg);
		mySheet.InitHeaders(headers,info);
		mySheet.InitColumns(cols);

		mySheet.FitColWidth();
		
		doAction('search');
	});
	
	/*Sheet 각종 처리*/
	function doAction(sAction) {
		switch(sAction) {
			case "search":		//조회
				mySheet.DoSearch("../data/sheet_data.xml");
				break;
			case "save":
				doSave();
				break;
		}
	}
	
	function doSave() {
		var param = mySheet.GetSaveJson();
		var rtnData;
		
		$.ajax({
			type : "POST",
			async : false,
			data : param,
			url : "save.jsp",
			dataType : "text",
			success : function(response) {
			},
			beforeSend : function() {
				param = mySheet.GetSaveJson();
				rtnData = mySheet.GetSaveData("save.jsp", param);
			},
			complete : function() {
				mySheet.LoadSaveData(rtnData);
			}
		});
	}
	
	function mySheet_OnSearchEnd(Code, Msg, StCode, StMsg) {
		mySheet.FitColWidth();
	}
	
</script>
<title>JQuery를 이용한 저장 예제</title>
</head>
<body>
<div id="main">
	<%@ include file="../../common/jsp/sheetNavi.jsp" %>	
	<div id="title">JQuery를 이용한 저장 예제</div>
	<div id="desc">
		GetSaveJson()으로 데이터를 추출하여 jquery를 이용한 저장 예제
		<br>
		저장 대상의 데이터를 Json 객체로 반환한다.<br>
		이 함수를 호출하면 저장 객체를 생성하며 필수 입력 항목을 확인하고, OnValidation 이벤트가 발생하여 사용자 Validation 로직도 처리한다.<br>
		Col 인자는 AllSave인자가 0일 때 사용하며 저장 대상이 되는 컬럼을 설정한다.
	</div>

	<div id="functionArea">
		<div>
			<span>
			<input type="button" value="조회" onclick="doAction('search')">
			<input type="button" value="저장" onclick="doAction('save')">
			</span>
		</div>
	</div>
	
	<div id="viewArea">
	</div>
</div>
</body>
</html>